viewport: Don't subtract borders and padding from -1
authorBenjamin Otte <otte@redhat.com>
Tue, 6 May 2014 02:00:38 +0000 (04:00 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 6 May 2014 02:02:40 +0000 (04:02 +0200)
-1 is a special value for "undefined" and needs to stay that way

https://bugzilla.gnome.org/show_bug.cgi?id=729607

gtk/gtkviewport.c

index ec6655fd679ab36975895d39335c8aed11cb9f31..c0bc437c702bc68d2596c532ed4a3bd2c417ced4 100644 (file)
@@ -1049,24 +1049,28 @@ gtk_viewport_get_preferred_size (GtkWidget      *widget,
 
       if (orientation == GTK_ORIENTATION_HORIZONTAL)
         {
-          for_size -= border.top + border.bottom;
+          if (for_size >= 0)
+            for_size -= border.top + border.bottom;
           minimum += border.left + border.right;
         }
       else
         {
-          for_size -= border.left + border.right;
+          if (for_size >= 0)
+            for_size -= border.left + border.right;
           minimum += border.top + border.bottom;
         }
     }
 
   if (orientation == GTK_ORIENTATION_HORIZONTAL)
     {
-      for_size -= padding.top + padding.bottom;
+      if (for_size >= 0)
+        for_size -= padding.top + padding.bottom;
       minimum += padding.left + padding.right;
     }
   else
     {
-      for_size -= padding.left + padding.right;
+      if (for_size >= 0)
+        for_size -= padding.left + padding.right;
       minimum += padding.top + padding.bottom;
     }